package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 压力机数据主业务对象 n_laboratory_mechanics_y_group
 *
 * @author zyb
 * @date 2023-09-11
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NLaboratoryMechanicsYGroupBo extends BaseEntity {

    /**
     * 汇总源表主键
     */
    @NotNull(message = "汇总源表主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 数据抽取源表主键
     */
    @NotNull(message = "数据抽取源表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sourceId;

    /**
     * 试验类型，用于识别相应试验
     */
    @NotBlank(message = "试验类型，用于识别相应试验不能为空", groups = { AddGroup.class, EditGroup.class })
    private String SYLX;

    /**
     * 试验编号(组号）
     */
    @NotBlank(message = "试验编号(组号）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String SYBH;

    /**
     * 本组的试样数量
     */
    @NotNull(message = "本组的试样数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer SYSL;

    /**
     * 龄期 针对有龄期的试验如水泥,其它试验忽略
     */
    @NotBlank(message = "龄期 针对有龄期的试验如水泥,其它试验忽略不能为空", groups = { AddGroup.class, EditGroup.class })
    private String LQ;

    /**
     * 截面形状，0表示圆形，1表示矩形，2表示方形，3表示不规则，4表示无法识别。
     */
    @NotBlank(message = "截面形状，0表示圆形，1表示矩形，2表示方形，3表示不规则，4表示无法识别。不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Shape;

    /**
     * 根据截面形状不同，表示的含义不同。圆形为直径或者直径高度；矩形为宽厚或者宽厚高，方
     */
    @NotBlank(message = "根据截面形状不同，表示的含义不同。圆形为直径或者直径高度；矩形为宽厚或者宽厚高，方不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Size;

    /**
     * 系数,有些试验在不是标准规格的时候，可能需要转换系数
     */
    @NotNull(message = "系数,有些试验在不是标准规格的时候，可能需要转换系数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float XS;

    /**
     * 强度等级
     */
    @NotBlank(message = "强度等级不能为空", groups = { AddGroup.class, EditGroup.class })
    private String QDDJ;

    /**
     * 品种
     */
    @NotBlank(message = "品种不能为空", groups = { AddGroup.class, EditGroup.class })
    private String PingZhong;

    /**
     * 有效力值
     */
    @NotNull(message = "有效力值不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float YXLZ;

    /**
     * 有效强度
     */
    @NotBlank(message = "有效强度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String YXQD;

    /**
     * 简单的评定结果，联网厂家的评定方式与我们不同的话请自行处理
     */
    @NotBlank(message = "简单的评定结果，联网厂家的评定方式与我们不同的话请自行处理不能为空", groups = { AddGroup.class, EditGroup.class })
    private String PDJG;

    /**
     * 试验时间
     */
    @NotNull(message = "试验时间不能为空", groups = { AddGroup.class, EditGroup.class })
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy年MM月dd日")
    private Date SYSJ;

    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Machine;

    /**
     * 试验员
     */
    @NotBlank(message = "试验员不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Tester;

    /**
     * 状态标记 0:该组试验未完成 1:该组试验完成
     */
    @NotNull(message = "状态标记 0:该组试验未完成 1:该组试验完成不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer Tag;

    /**
     * 数据来源
     */
    @NotBlank(message = "数据来源不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date createDate;

    /**
     * 加荷速度
     */
    @NotBlank(message = "加荷速度 不能为空", groups = { AddGroup.class, EditGroup.class })
    private String speed;

    /**
     * 跨距
     */
    @NotBlank(message = "跨距不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kj;

    /**
     * 面积
     */
    @NotBlank(message = "面积不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mj;

    /**
     * 欧凯数据文件（曲线数据在这个指定的文件内）
     */
    @NotBlank(message = "欧凯数据文件（曲线数据在这个指定的文件内） 不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sjwj;

    /**
     * 欧凯系数(当XS转换失败时存储)
     */
    @NotBlank(message = "欧凯系数(当XS转换失败时存储)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String xsok;

    /**
     * 实验开始时间
     */
    @NotBlank(message = "实验开始时间", groups = { AddGroup.class, EditGroup.class })
    private String startTime;

    /**
     * 实验结束时间
     */
    @NotBlank(message = "实验结束时间", groups = { AddGroup.class, EditGroup.class })
    private String endTime;

    /**
     * 是否合格1合格0不合格
     */
    @NotBlank(message = "是否合格1合格0不合格", groups = { AddGroup.class, EditGroup.class })
    private String eligible;

    /**
     * 是否关联1已关联0未关联
     */
    @NotBlank(message = "是否关联1已关联0未关联", groups = { AddGroup.class, EditGroup.class })
    private String relevance;
    private String symc;

    /************/

    /**
     * 工程部位、用途
     */
    private String projectPartUse;
    /**
     * 检测依据
     */
    private String checkAccord;
    /**
     * 判定依据
     */
    private String judgeAccord;
    /**
     * 主要仪器设备名称及编号
     */
    private String mainDeviceNameAndNum;
    /**
     * 混凝土种类
     */
    private String hntType;
    /**
     * 搅拌方式
     */
    private String stirMode;
    /**
     * 养护条件
     */
    private String maintainCondition;
    /**
     * 水泥：粉煤沙：砂：石：水：外加剂 比例
     */
    private String bl;
    /**
     * 设计坍落度
     */
    private String designDLD;
    /**
     * 样品名称
     */
    private String sampleName;

    /**
     * 取样时间
     */
    private Date gotDate;
    /**
     * 样品描述
     */
    private String sampleIntro;

    /**
     * 达到设计强度百分比（%）
     */
    private Double ddsjqdbfb;

    /**
     * 换算后抗压强度
     */
    private Double hshkyqd;

    /**
     * 抗压强度 单值、 检测结果 单值
     */
    private Double kyqddz;

    /**
     * 抗压强度 测定值、 检测结果 测定值
     */
    private Double kyqdcdz;

    /**
     * 极限载荷
     */
    private Double jxzh;
    /**
     * 实测坍落度1
     */
    private Double sctld1;
    /**
     * 实测坍落度2
     */
    private Double sctld2;

    /**
     * 坍落度结果
     */
    private Double tldjg;

    /**
     * 技术指标
     */
    private String jszb;

    /**
     * 成型日期
     */
    private Date cxrq;


    /**
     * 试验条件
     */
    private String sytj;

}
